def find_two_number(my_list):
    result = 0
    for i in my_list:
        result ^= i
    print(result)  # 得到的是只出现一次的数的异或值 9^10
    split_flag = result & -result  # 获取result最低位为1的值
    ret1 = 0
    ret2 = 0
    for i in my_list:
        if i & split_flag:
            ret1 ^= i
        else:
            ret2 ^= i

    print(ret1, ret2)


if __name__ == '__main__':
    my_list = [1, 1, 2, 2, 3, 6, 6, 8, 3, 9, 8, 10]
    find_two_number(my_list)
